Automatic call distribution systems are known. Such systems are typically used in an organizational context as a means of distributing telephone calls among a group of agents of the organization.
Often the organization disseminates a single telephone number to its customers and to the public in general as a means of contacting the organization. As calls are directed to the organization from the public switch telephone network (PSTN), the automatic call distribution (ACD) system distributes the call among its call handling resources based upon some algorithm, typically based upon availability. For example, a first call handling resource presented to a caller by the ACD may be a voice response unit (VRU) providing a prerecorded message asking the caller to wait for the first available agent. Other call handling resources may be sales agents with expertise in answering certain types of questions.
Where all agents are consider equal, the ACD may distribute the calls based upon which agent position (telephone) has been idle the longest. When all agents are preoccupied with calls, new calls may be routed to other VRUs which may be used to offer other call destination options (e.g., voice mail, telephone numbers of other service personnel, etc.). Alternatively, a VRU may be used to elicit information from a caller as a means of determining a call destination.
In order to distribute incoming calls from the PSTN to the available agents, the interaction of a controlling ACD computer with a switching fabric of the ACD system becomes essential. Often a connection to a local PSTN is in the form of a number of trunk connections. Each of the trunk connections is monitored by the ACD controller for incoming calls. Where a call is detected, the controller searches for and selects an idle agent or VRU. The ACD controller identifies such call resources from a resource table within a memory of the ACD controller. Such table may contain a list of ACD switch ports to which the call resources (e.g., agents, VCUs, etc.) are connected. Upon determining a destination, the controller instructs the switch to form a connection between the incoming trunk and destination port.
In more complicated systems, the organization may use a number of telephone numbers to identify different individuals and functions within the organization. Each telephone number may be assigned to a particular incoming trunk or group of incoming trunk lines. As such, the controller may be required to recognize a call target based upon an identity of an incoming trunk line and route the call accordingly.
In other systems, the ACD of an organization may receive calls directed to different call targets over the same trunk lines. In such a case, the call target may be identified to the ACD by a pulse code modulated (PCM) signal transferred from the PSTN to the controller of the ACD by a dialed number identification service (DNIS) operating from within the PSTN.
In systems associated with service organizations, where many calls are received and handled by many agents, it may be important for an agent to have ready access to customer files. In such a situation, a database is maintained of existing customers. Customer records may be displayed on agent terminals as the agents converse with specific customers. In some cases, the customer may be identified to the database for display of records on the terminal by the agent entering a customer identifier into a keyboard associated with the terminal. Alternatively, the controller of the ACD may transfer an identifier of the customer to the database based upon an automatic number identification (ANI) facility, operating from within the PSTN.
In still other systems, a VRU may be used to request a customer identifier from the customer. The identifier may, in turn, be transferred to the host. The host may use the identifier not only retrieve customer records, but also to determine a final call destination. Where the host is used to determine a call destination, an identifier of the call destination would be transferred to the ACD controller over a data interconnect between the host and ACD. The ACD controller, in turn, would instruct the ACD switch to route the call to the specified destination.
Where ANI is used, the controller of the ACD receives the ANI digits from the PSTN (identifying the caller via the caller's telephone number) at the same time the call arrives from the PSTN. Upon selecting an agent, the controller may transfer a call to a queue for the selected agent or directly to the selected agent. At the same time that the call is delivered to the agent, the controller sends an identifier of the selected agent and ANI number of the customer to a controller of the database (the host). The host, in turn, displays the customer records via a computer monitor of the selected agent at the same time the call is delivered.
Where a call is placed in a queue, the ACD controller may monitor a total time that the call has been in the queue. Where the total time exceeds a threshold, the controller may connect a VRU to the call and present a number of other options to the caller, including leaving a call-back number or transfer to another facility. Where the call is to be transferred, a message must be transferred from the VRU to a switch of the ACD instructing the ACD as to a call destination.
While the existing method of distributing calls is relatively satisfactory, it is dependent upon an ability on the VRU to transfer call destination information to the ACD. Where a VRU is implemented as an application on the host processor, a call transfer may include a transfer of call destination information from the host processor to a controller of the ACD and then to the switch of the ACD. Because of the cost in computer time associated with data transfers between controllers, a need exists for a means of providing call transfers directly from the VRU to the switch of the ACD.